JSON 포맷 압축 및 복원방법

특허 기본 정보

서지사항

국제특허분류 (IPC)

정부연구개발사업 지원

기술적 배경 및 해결과제

기존 기술의 한계

기존 JSON 포맷은 바이너리 형태로 압축하여 사용함으로써 구문해석이 불가능한 문제점이 있었습니다. 또한 순수한 XML이나 JSON 패킷 구조에서 구현하기 힘든 압축, 분할전송, 보안 적용 등의 이점을 살리면서도 데이터 자체는 XML과 JSON 형태 그대로 유지할 수 있는 방법이 필요했습니다.

해결하려는 기술적 과제

  1. 구문해석 가능성 유지: 압축되더라도 구문해석이 가능한 JSON 포맷 제공
  2. 압축률 향상: 효율적인 압축률을 달성하면서 텍스트 형태 유지
  3. 대용량 데이터 전송: 데이터베이스에서 대량의 데이터를 효과적으로 전송

핵심 기술 구성

시스템 아키텍처

특허에 따르면 JSON 포맷 압축복원모듈(100)은 다음 4개 핵심 구성요소로 이루어집니다:

  1. 포맷추출부(110): JSON 포맷 데이터 검출 및 추출
  2. 포맷서치부(130): 중복값 검사 및 대응코드 생성
  3. 포맷압축부(150): SUB-JSON 생성 및 압축 수행
  4. 포맷복원부(170): 압축된 데이터의 원본 복원

압축 알고리즘 상세

1단계: 중복값 검사 및 분석

포맷서치부에서 키 또는 밸류의 문자길이가 설정값 이상인 것만 검사하는 것이 바람직하다. 예를 들어, 키 또는 밸류의 문자길이가 4 이상이면 중복값 검사를 시행하고, 4 미만이면 스킵합니다.

2단계: 대응코드 생성 체계

3단계: SUB-JSON 포맷 구조

SUB-JSON 포맷에는 중복값이 2 이상인 키 또는 밸류가 키로 저장되고, 해당 키 또는 밸류에 대응하는 대응코드가 밸류로 저장됩니다.

{
  "code": {
    "name_test_value3": "c5",
    "name_test_value2": "c7",
    "name_test_value4": "c9",
    "name_test_c": "c0",
    "value_test_a.r[].value3": "c6",
    "name_test_d": "c1",
    "value_test_a.r[].value4": "c10",
    "value_test_a.r[].value5": "c3",
    "value_test_a.b": "c2",
    "name_test_e": "c11",
    "value_test_a.e": "c12",
    "value_test_a.f": "c13",
    "value_test_a.g": "c14",
    "value_test_a.r[].value1": "c4",
    "value_test_a.r[].value2": "c8"
  }
}

4단계: 키세트 최적화

반복되는 동일순서의 키세트가 있는 경우 키세트에 대응하는 대응코드를 생성하고, 밸류는 배열형태로 변환합니다.

압축 전:

{
  "name": "Molecule Man",
  "age": 29,
  "secretIdentity": "Dan Jukes",
  "powers": ["Radiation resistance", "Turning tiny", "Radiation blast"]
}

압축 후:

{
  "s1": ["Molecule Man", 29, "Dan Jukes", ["Radiation resistance", "Turning tiny", "Radiation blast"]]
}

복원 알고리즘

압축여부 판단

JSON 포맷에 SUB-JSON 포맷이 있는지 없는지 여부로 압축여부를 결정합니다.

복원 프로세스

  1. SUB-JSON 검사: 압축된 JSON에서 SUB-JSON 포맷 존재 확인
  2. 대응코드 독출: SUB-JSON에서 대응코드와 원본 키/밸류 매핑 정보 추출
  3. 데이터 변환: 메인 JSON에서 대응코드를 원본 키/밸류로 치환
  4. SUB-JSON 삭제: 복원 완료 후 SUB-JSON 포맷 제거

기술적 차별점 및 혁신성

1. 가독성 유지

기존 바이너리 압축과 달리 텍스트 형태를 유지하면서 압축을 달성하여 디버깅과 개발 과정에서의 가독성을 보장합니다.

2. 적응형 대응코드 시스템

문자코드 충돌 방지를 통한 안전한 압축 및 복원이 가능하며, 키세트 최적화를 통해 구조적 반복 패턴도 효율적으로 압축합니다.

3. 구문해석 호환성

압축된 상태에서도 표준 JSON 파서로 구문해석이 가능하여 기존 시스템과의 호환성을 유지합니다.

응용 분야 및 효과

주요 응용 분야

기술적 효과

  1. 전송 대역폭 절약: 반복 데이터 제거를 통한 효율적 네트워크 사용
  2. 처리 속도 향상: 바이너리 압축/해제 오버헤드 없이 빠른 처리
  3. 개발 생산성: 압축 상태에서도 가독성 유지로 디버깅 용이
  4. 시스템 호환성: 기존 JSON 처리 시스템과 완벽 호환

산업적 가치

시장 적용 가능성

경쟁 우위

기존의 gzip, brotli 등 범용 압축 알고리즘과 달리, JSON 구조적 특성을 활용한 도메인 특화 압축 방법으로서 압축률과 가독성의 균형점을 제공하는 차별화된 기술입니다.

기술 성숙도 및 한계

기술 성숙도

잠재적 한계

  1. 압축률 한계: 중복 데이터가 적은 경우 압축 효과 제한적
  2. 처리 오버헤드: 중복 검사 및 대응코드 생성 과정의 연산 비용
  3. 메타데이터 오버헤드: SUB-JSON 구조로 인한 추가 메타데이터

이 특허는 JSON 데이터의 구조적 특성을 활용한 혁신적인 압축 방법으로, 특히 IoT 및 웹 서비스 분야에서 높은 활용 가치를 가진 기술입니다.